#!/bin/bash
SCRIPT_BASE_DIR=$( dirname "${BASH_SOURCE[0]}" )
source "${SCRIPT_BASE_DIR}/common/fs_utils.sh"

cmd=$( basename "$0" )

function usage() {
	echo "Usage: ${cmd} [ -o | -t | -h ]"
    echo -e "\t-t: 索引test下的文件"
    echo -e "\t-o: 只对onnx_debug工具做索引"
    echo -e "\t-h: 显示帮助信息"
	exit 1
}

# 默认索引当前目录下所有文件
srcDirs=(.)
# 默认不索引test目录下的文件
findTestOpt="-name test -type d -prune -o"
while getopts "toh" args
do
    case "${args}" in 
        t)
            # 包括gtest目录
            findTestOpt=""
            ;;
        o)
            srcDirs=(onnx_debug)
            ;;
        *)
            usage;;
    esac
done

# 包含.h文件所在目录
hppDirs=(include/${caffeName})

root="."
for d in "${srcDirs[@]}"
do
    dir_exists_or_die "${root}/$d"
done

csFile="${root}/cscope.files"
echo "Build ${csFile} ..."
# 重置文件列表
echo > "${csFile}"

# 入口程序
echo "onnx_debug.py" >> "${csFile}"
echo "onnx_model.py" >> "${csFile}"
# 建造文件列表
for d in "${srcDirs[@]}"
do
    find "${root}/$d" ${findTestOpt} -name "*.py" -type f -print >> "${csFile}"
done

# 建立cscope数据库
echo "Build cscope DB..."
cscope -Rbqk
echo "Done."
